
BT JointData can be used to either set or get information about a joint.
It requires a Joint input which can be accessed from either BTJointOperator or BTJointCounterOperator.
All joints have a specific Joint ID integer and this integer can actually
also be used as the Joint input.
BTJointOperator can only define Particle From/To, Position From/To/World,
and Type, so in order to set additional joint properties BT
JointDataOperator is necessary.
Among the many useful features of this operator are its feature to set
a joint's ability to break, it's breaking velocity & rotation thresholds,
to define or redefine joint types and Particle To/From connections, and
to track when a joint has broken (via the Broken output, which outputs
1 continuously when a joint is broken).
ON - (Bool) This input data
stream determines whether the operator is considered 'on' or 'off.' You
can connect other operators to this input channel such as a Bool
Helper to activate/deactivate the whole operator.
Time - (Time) This input data stream is used to define the local
time for the operator when the user wants to override the default system
time.
Joint - inputs the joint ID of the joint to be changed or reads
the data from the joint.
Type - lets you set the type of Joint that will be created between
the two particles. Possible options are:
0 = PointToPoint
1 = Hinge
2 = ConeTwist
3 = Slider
4 = D6
5 = D6 Spring
6 = Rope Anchor
Particle From - sets the
"From" particle ID that will be used to create a Joint
Important
You must supply both object space positions when using these inputs.
One input alone will cause an invalid Joint. This Joint position in
space should be the same point in world space for
each of positions you feed into these inputs.
Position From - defines
the joint position in object space as seen from the "From" particle
where the Joint will be placed between the two Joint partners.
Alignment From - inputs the Joint's alignment in object space
coordinates that needs to be created between the two particles.
Particle To - sets the "To" particle ID that will be
used to create a Joint
Position To - defines the joint position in object space as seen
from the "To" particle where the Joint will be placed between
the two Joint partners.
Alignment To - inputs the Joint's alignment in object space coordinates
that needs to be created between the two particles.
World Position - inputs
the Joint's position in world space coordinates that needs to be created
between the two particles.
World Alignment - inputs the Joint's alignment in world space
coordinates that needs to be created between the two particles.
Breakable - sets if a joint is breakable or not. (a value of 1
means breakable)
Break Impulse - sets the maximum velocity allowed before the Joint
"breaks off"
Broken - sets this input to 1 to break the joint immediately
Collision - connect a value of 1 to this input to allow for collision
detection between Joint objects
Type - outputs the type
of Joint that will be created between the two particles. Possible options
are:
0 = PointToPoint
1 = Hinge
2 = ConeTwist
3 = Slider
4 = D6
5 = D6 Spring
6 = Rope Anchor
Particle From - outputs
the "From" particle ID that was used to create a Joint
Position From - outputs the joint position in object space as
seen from the "From" particle where the Joint will be placed
between the two Joint partners.
Alignment From - outputs the Joint's alignment in object space
coordinates that needs to be created between the two particles.
Particle To - outputs the "To" particle ID that will
be used to create a Joint
Position To - outputs the joint position in object space as seen
from the "To" particle where the Joint will be placed between
the two Joint partners.
Alignment To - outputs the Joint's alignment in object space coordinates
that needs to be created between the two particles.
World Position - outputs
the Joint's position in world space coordinates that needs to be created
between the two particles.
World Alignment - outputs the Joint's alignment in world space
coordinates that needs to be created between the two particles.
Breakable - outputs the state of a joint, if a joint is breakable
or not. (a value of 1 means breakable)
Break Vel. Threshold - outputs the maximum velocity allowed before
the Joint "breaks off"
Break Rot. Threshold - outputs the maximum allowed rotational
speed (angle change per second) before the Joint is broken
Broken - outputs the status of the Joint an output value of 1
indicates a broken joint.
Collision - outputs a value of 1 when collision detection between
Joint objects is active, 0 when inactive

The BT Joint operator offers only a few settings to adjust. Find below
the possible settings:
Collision - lets you choose from the drop down menu the physics
engine solver to use for the Joint simulation. All compatible solvers
found in the thinkingParticles setup will be automatically listed.
Type - Select from the drop down list the joint type you intend to use with this operator. The thinkingParticles node in the view port will change accordingly. Only the first set of parameters described above will stay the same, all other will change based on the type of joint.